package ar.com.tallerdos.smartdinner.sync;

import java.sql.SQLException;
import java.text.SimpleDateFormat;

import android.util.Log;
import ar.com.tallerdos.smartdinner.business.PedidoBusiness;
import ar.com.tallerdos.smartdinner.model.Pedido;

public class NotificadorPedido extends BaseAsyncTask {    
    
    private static final String AGREGAR_PEDIDO_SERVICE = "insertarPedidoDetalle.php";
    
    private Pedido pedido;
    
    public NotificadorPedido(Pedido pedido) {
        this.pedido = pedido;
    }
    
    @Override
    protected Integer doInBackground(Void... params) {
        Log.e("log_tag", "Inicio Proceso Envio de Pedido");
        
        String response = llamarWebService(SERVER_URL + "/" + AGREGAR_PEDIDO_SERVICE
        	+ "?pedido_id=" + pedido.getComida().getCodigo()
        	+ "&producto_id=" + pedido.getProducto().getId()
        	+ "&cantidad=" + pedido.getCantidad()
        	+ "&precio=" + pedido.getProducto().getPrecioDosDecimales()
        	+ "&estado=" + pedido.getEstado().name()
        	//Se agrega el envio de descripcion del pedido
        	+ "&descripcion=" + pedido.getProducto().getDescripcion().toString().replaceAll(" ", "%20")
        	+ "&fecha_alta=" + new SimpleDateFormat("yyyy-MM-dd%20HH:mm:ss").format(pedido.getFechaAlta()));
        
        Log.e("log_tag", "Fin Proceso Envio de Pedido: '" + response + "'");
        try {
            Integer codigo = Integer.valueOf(response.trim());
            this.pedido.setCodigo(codigo);
            
            PedidoBusiness.update(this.pedido);
            
            return 0;
        } catch (NumberFormatException e) {
            return 1;
        }
    }
}
